]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gnome-shell.in: Really never add empty elements to LD_LIBRARY_PATH
authorVincent Untz <vuntz@gnome.org>
Wed, 5 Jan 2011 09:32:44 +0000 (10:32 +0100)
committerVincent Untz <vuntz@gnome.org>
Wed, 5 Jan 2011 09:54:38 +0000 (10:54 +0100)
This complements the fix from c6eb2761, to make sure that we don't use
the pre-existing $LD_LIBRARY_PATH if it's set but empty.

Both commits fix CVE-2010-4000.

https://bugzilla.gnome.org/show_bug.cgi?id=638728

src/gnome-shell.in

index 2abd7d5ccc4124db15119fa636e7b92a0b95651e..e422adb8d95614d50d6fde5a8c13fb609d28981a 100755 (executable)
@@ -152,7 +152,7 @@ def start_dconf_await_service():
     # dconf is linked without libtool, so unlike other GNOME modules,
     # won't have an embedded rpath for its library directory.
     env = dict(os.environ)
-    if 'LD_LIBRARY_PATH' in env:
+    if 'LD_LIBRARY_PATH' in env and env['LD_LIBRARY_PATH']:
         ld_library_path = '@libdir@:' + env['LD_LIBRARY_PATH']
     else:
         ld_library_path = '@libdir@'
@@ -246,7 +246,7 @@ def start_shell(perf_output=None):
     if pkgconfig.returncode == 0:
         mozjs_libdir = re.sub('-(sdk|devel)', '', mozjs_sdkdir)
         if os.path.exists(mozjs_libdir + '/libmozjs.so'):
-            if 'LD_LIBRARY_PATH' in env:
+            if 'LD_LIBRARY_PATH' in env and env['LD_LIBRARY_PATH']:
                 ld_library_path = env['LD_LIBRARY_PATH'] + ':' + mozjs_libdir
             else:
                 ld_library_path = mozjs_libdir